//
//  LJTitleButton.swift
//  LJWeibo
//
//  Created by 连俊杨 on 2017/10/24.
//  Copyright © 2017年 yang_ljun. All rights reserved.
//

import UIKit

class LJTitleButton: UIButton {

    init(title: String?) {
        super.init(frame: CGRect())
        
        /// 设置自定义信息
        if title == nil {
            setTitle("首页", for: .normal)
        }
        else {
            setTitle(title! + " ", for: .normal)
            
            /// 设置图片
            setImage(UIImage(named: "navigationbar_arrow_down"), for: .normal)
            setImage(UIImage(named: "navigationbar_arrow_up"), for: .selected)
        }
        
        /// 文字颜色和大小
        setTitleColor(UIColor.darkGray, for: .normal)
        titleLabel?.font = UIFont.boldSystemFont(ofSize: 17)
        
        sizeToFit()
    }
    
    required init?(coder aDecoder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }
    
    /// 重新布局子视图
    override func layoutSubviews() {
        super.layoutSubviews()
        
        guard let titleLabel = titleLabel, let imageView = imageView else {
            return
        }
        
    /***************************************************************************************
         本方法会被调用两次，下面的写法会让控件偏移两次，出现偏差
         
         
         // 将 lable 的 x 向左移动 imageView 的宽度
         titleLabel.frame = titleLabel.frame.offsetBy(dx: -imageView.bounds.width, dy: 0)
         // 将 imageView 的 x 向右移动 lable 的宽度
         imageView.frame = imageView.frame.offsetBy(dx: titleLabel.bounds.width, dy: 0)
    *******************************************************************************************/
        titleLabel.frame.origin.x = 0
        
        imageView.frame.origin.x = titleLabel.bounds.width
    }
}
